main: main.o nfa.o namestorage.o fa.o nfastate.o nfarule.o dfa.o
	g++ main.o nfa.o nfastate.o nfarule.o namestorage.o fa.o dfa.o -o ./main.out -Wall

main.o: main.cpp nfa.h nfarule.h nfastate.h namestorage.h
	g++ -c main.cpp -Wall

nfa.o: nfa.cpp nfa.h nfarule.h nfastate.h namestorage.h
	g++ -c nfa.cpp -Wall

namestorage.o: namestorage.cpp nfa.h nfarule.h nfastate.h namestorage.h
	g++ -c namestorage.cpp -Wall

nfastate.o: nfastate.cpp
	g++ -c nfastate.cpp -Wall

nfarule.o: nfarule.cpp
	g++ -c nfarule.cpp -Wall

dfa.o: dfa.cpp dfa.h
	g++ -c dfa.cpp -Wall

fa.o: fa.cpp fa.h
	g++ -c fa.cpp -Wall
